﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Mclib
{
	/// <summary>
	/// A plot that displays multivariate data by displaying a grid of plots.  The diagonal displays marginal 1D
	/// histograms for each data dimension.  The upper or lower triangle displays bivariate scatterplots.
	/// </summary>
	public class TrianglePlot
	{
		/// <summary>
		/// The dimensionality of the TrianglePlot
		/// </summary>
		public int Ndims;
		/// <summary>
		/// The axes that make up this plot.  The diagonals are the DataSeries (univariate density) plots.
		/// The off-diagonals are the DataSurfaces (bivariate density) plots.
		/// </summary>
		public Axis[,] Axes;
		/// <summary>
		/// The data to be plotted.
		/// </summary>
		public CatData Data;
		/// <summary>
		/// Constructs a TrianglePlot from categorization data.
		/// </summary>
		/// <param name="Data">The data upon which this plot is based.</param>
		public TrianglePlot(CatData Data)
		{
		}
	}
	/// <summary>
	/// The options for the TrianglePlot.
	/// </summary>
	public class TrianglePlotOptions
	{
		/// <summary>
		/// The blur level.  When this is double.Nan, the blur level is picked automatically by DataSurface.BlurLevel.
		/// See DataSurface.BlurLevel for more information.
		/// </summary>
		public double BlurLevel = double.NaN;
	}
}
